package com.sfh.appversion.server;


import com.sfh.appversion.dao.entity.PhoneTypeDO;
import com.sfh.appversion.dao.entity.SysConfigDO;
import com.sfh.appversion.dao.entity.UserDO;
import com.sfh.appversion.dto.req.*;
import com.sfh.appversion.dto.resp.UserRespDTO;

import java.util.List;

/***
 * 用户服务
 */
public interface UserServer {

    /***
     * 登录
     * @param req
     * @return
     */
    UserRespDTO login(UseReqDTO req);

    /***
     * 全部用户信息列表
     * @return
     */
    List<UserDO> queryList();

    /***
     * 全部配置项列表
     * @return
     */
    List<SysConfigDO> queryAllConfig();

    /***
     * 查询配置项
     * @return
     */
    SysConfigDO queryConfig(String configKey);


    /***
     * 全部手机配置项
     * @return
     */
    List<PhoneTypeDO> queryAllPhoneType();

    /***
     * 根据手机类型全部手机配置项
     * @return
     */
    List<PhoneTypeDO> queryPhoneType(String phoneType);

    /**
     * 删除用户
     * @param userId
     * @return
     */
    boolean delUser(String userId);

    /***
     * 新增用户
     * @param req
     * @return
     */
    boolean addUser(UseNewReqDTO req);

    /***
     * 删除配置
     * @param configId
     * @return
     */
    boolean delConfig(String configId);

    /***
     * 添加配置
     * @param req
     * @return
     */
    boolean addConfig(SysConfingNewReqDTO req);

    /***
     * 编辑配置
     * @param req
     * @return
     */
    boolean editConfig(SysConfingEditReqDTO req);


    /***
     * 删除手机配置项
     * @param phoneTypeId
     * @return
     */
    boolean delPhoneType(String phoneTypeId);

    /***
     * 新增手机配置项
     * @param req
     * @return
     */
    boolean addPhoneType(PhoneTypeNewReqDTO req);


}
